package com.goodmr.passport.auth;

/**
 * 验证码数据逻辑
 *
 * @author <a href="mailto:bingdong13@msn.com">bigo</a>
 */
interface VerifyCodeDao {

    /**
     * 生成随机验证码
     *
     * @param receiver 接收者标识
     * @param code     验证码
     * @param timeout  过期时间（s）
     */
    void generate(String receiver, String code, long timeout);

    /**
     * 校验验证码是否正确
     *
     * @param receiver 接收者标识
     * @param code     验证码
     * @return boolean
     */
    boolean verify(String receiver, String code);

    /**
     * 删除随机验证码
     *
     * @param receiver 接收者标识
     */
    void remove(String receiver);
}
